package br.com.affero.testewel.exception;


import java.util.HashMap;
import java.util.Map;

/**
 * Excessão de Validação da Camada de Negócio. (Modelo)
 * Aqui gravamos e acessamos facilmente os erros de validação obtidos.
 * 
 * @author Welington Veiga
 * @since 21/12/2011
 */
public class ModelValidationException extends Exception {
	
	private static final long serialVersionUID = -7210731041145297127L;
	
	private Map<String, String> validationErrors;

	public ModelValidationException(Map<String, String> errors) {
		super();
		validationErrors = errors;
	}


	public ModelValidationException(String message, Throwable cause, Map<String, String> errors) {
		super(message, cause);
		validationErrors = errors;
	}

	public ModelValidationException(String message,Map<String, String> errors) {
		super(message);
		validationErrors = errors;
	}

	public ModelValidationException(Throwable cause, Map<String, String> errors) {
		super(cause);
		validationErrors = errors;
	}
	
	public Map<String, String> getValidationErrors(){
		 if(validationErrors == null)
			 validationErrors = new HashMap<String, String>();
		 return validationErrors;
	}
	
	
	
}
